package pers.linkong.asr.web;

import java.io.IOException;
import java.util.List;

import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import pers.linkong.asr.domain.CourseSublevelBean;
import pers.linkong.asr.service.CourseSublevelService;
import pers.linkong.asr.util.ResultInfo;
import pers.linkong.asr.util.LayPage;

@Controller
@RequestMapping("/courseSublevel")
public class CourseSublevelController {
	
	@Autowired
	private CourseSublevelService courseSublevelService;
	
	@RequestMapping("/add")
	@ResponseBody
	public ResultInfo addCourseSublevel(CourseSublevelBean courseSublevel) throws IOException{
		try{
			this.courseSublevelService.addCourseSublevel(courseSublevel);
			return ResultInfo.data(1, "保存成功");
		}
		catch(Exception e){
			e.printStackTrace();
			return ResultInfo.data(0, "发生异常，保存失败，请稍后再试");
		}
	}
	
	@RequestMapping("/update")
	@ResponseBody
	public ResultInfo updateCourseSublevel(CourseSublevelBean courseSublevel) throws IOException{
		try{
			System.out.println(courseSublevel.getCid());
			this.courseSublevelService.updateCourseSublevel(courseSublevel);
			return ResultInfo.data(1, "保存成功");
		}
		catch(Exception e){
			e.printStackTrace();
			return ResultInfo.data(0, "发生异常，保存失败，请稍后再试");
		}
	}
	
	// 分页查询
	@RequestMapping("/findCourseSublevelByPage")
	@ResponseBody
	public LayPage findCourseSublevelByPage(String cid, String cidSublevel,
			String week, String lessonS, String lessonE, String weekNumber,
			long page, long limit,  HttpSession session) throws Exception{
		
		System.out.println(week);
		
		CourseSublevelBean courseSublevel = new CourseSublevelBean();
		long start;
		
		start = (page - 1) * limit;	

		// trim方法可以删除字符串前端和后端的空格（含tab键产生的空格）
		if(cid != null && cid != ""){
			courseSublevel.setCid(Integer.parseInt(cid.trim()));
		}
		if(cidSublevel != null && cidSublevel != ""){
			courseSublevel.setCidSublevel(Integer.parseInt(cidSublevel.trim()));
		}
		if(week != null && week != ""){
			courseSublevel.setWeek(Integer.parseInt(week.trim()));
		}
		if(lessonS != null && lessonS != ""){
			courseSublevel.setLessonS(Integer.parseInt(lessonS.trim()));
		}
		if(lessonE != null && lessonE != ""){
			courseSublevel.setLessonE(Integer.parseInt(lessonE.trim()));
		}
		if(weekNumber != null && weekNumber != ""){
			courseSublevel.setWeekNumber(weekNumber.trim());
		}
		System.out.println("CSC:"+courseSublevel.getCid());
		List<CourseSublevelBean> courseSublevels
			= this.courseSublevelService.findCourseSublevelByPage(courseSublevel, start, limit);
		long count = this.courseSublevelService.getCourseSublevelCount(courseSublevel);
		System.out.println("CSC:"+count);
		return LayPage.data(0, "", count, courseSublevels);
	}
	
	// 根据id查询
	@RequestMapping("/getCourseSublevelById")
	@ResponseBody
	public CourseSublevelBean getCourseSublevelById(int cidSublevel) throws Exception{
		System.out.println(cidSublevel);
		return this.courseSublevelService.getCourseSublevelById(cidSublevel);
	}
	
	// 根据id删除
	@RequestMapping("/deleteCourseSublevelById")
	@ResponseBody
	public ResultInfo deleteCourseSublevelById(int cidSublevel) throws IOException{
		try{
			this.courseSublevelService.deleteCourseSublevel(cidSublevel);
			return ResultInfo.data(1, "删除成功");
		}
		catch(Exception e){
			e.printStackTrace();
			return ResultInfo.data(0, "发生异常，删除失败，请稍后再试");
		}
	}

}